package interfaces;

import model.Line;

public interface IHandler {

	/**
	 * 
	 * @return rows count
	 */
	int getRowsCount();

	/**
	 * 
	 * @return columns count
	 */
	int getColsCount();

	/**
	 * 
	 * @param row
	 *            - the row of the element for printing
	 * @param col
	 *            - the column of the element for printing
	 * @return the String for printing
	 */
	String getStringForRowAndCol(int row, int col);

	/**
	 * @param line
	 *            - the line marked
	 * @param sign
	 *            - player sign
	 * @return true if board is updated correctly
	 * */
	boolean updateGameBoard(Line line, String sign);

	/**
	 * method to return the count of board empty cells
	 * */
	int getEmptyCellsCount();

	/**
	 * method to return the last filled sign's row
	 * */
	int getLastFilledSignCellRow();

	
	/**
	 * method to return the last filled sign's col
	 * */
	int getLastFilledSignCellCol();

}
